Memory power optimization of Java-based embedded systems exploiting garbage collection information
نویسندگان
چکیده
Nowadays, Java is used in all types of embedded devices. For these memory-constrained systems, the automatic dynamic memory manager (Garbage Collector or GC) has been always a key factor in terms of the Java Virtual Machine (JVM) performance. Moreover, in current embedded platforms, power consumption is becoming as important as performance. Thus, in this paper we present an exploration, from an energy viewpoint, of the different possibilities of memory hierarchies for high-performance embedded systems when used by state-of-the-art GCs. This is a starting point for a better understanding of the interactions between the Java applications, the memory hierarchy and the GC. Hence, we subsequently present two techniques to reduce energy consumption on Java-based embedded systems, based on exploiting GC information. The first technique uses GC execution behavior to reduce leakage energy consumption taking advantage of the low-power mode of actual multi-banked SDRAM memories and it is intended for generational collectors. This technique can achieve a reduction up to 50% of SDRAM memory leakage. The second technique involves the inclusion of a software-controlled (scratch-pad) memory that stores GC instructions under the JVM control to reduce the active energy consumption and also improve the performance of the target embedded system and it is aimed at all kind of garbage collectors. For this last technique we have experimented with two different approaches for selecting the GC code to be stored in the scratchpad memory: one static and one dynamic. Our experimental results show that the proposed dynamic scratchpad management approach for GCs enables up to 63% energy consumption reduction and 25% performance improvement during the collector phase, which means, in terms of JVM execution, a global reduction of 29% and 17% for energy and cycles, respectively. Overall, this work outlines that the key for an efficient low-power implementation of Java Virtual Machines for high-performance embedded systems is the synergy between the GC choice, the memory architecture tuning, and the inclusion of power management schemes controlled by the JVM, exploiting knowledge of the GC behavior. 2011 Elsevier B.V. All rights reserved.
منابع مشابه
Adaptive Garbage Collection for Battery-Operated Environments
Energy is an important constraint for battery-operated embedded Java environments. In this work, we show how the garbage collector (GC) can be tuned to reduce the energy consumption of Java applications. In particular, we show the importance of tuning the frequency of invoking GC based on object allocation and garbage creation rates to optimize leakage energy consumption. We reduce the leakage ...
متن کاملAn in-card bytecode optimization for objects management in Java-based smart cards
Providing object programming for smart cards comes up against difficulties related to performance. Indeed, object management overheads represent an important source of inefficiency in Java programs (such data structures, heap allocation, garbage collection, etc.). In current Java Cards, object programming is not encouraged since garbage collection of objects is not mandatory. However, in the co...
متن کاملTuning Garbage Collection in an Embedded Java Environment
Java is being widely adopted as one of the software platforms for the seamless integration of diverse computing devices. Over the last year, there has been great momentum in adopting Java technology in devices such as cell-phones, PDAs, and pagers where optimizing energy consumption is critical. Since, traditionally, the Java virtual machine (JVM), the cornerstone of Java technology, is tuned f...
متن کاملMemory Organization and Optimization for Java Workloads
Java has become a popular paradigm in software development. It is widely used in embedded systems and network computing because of its excellent robustness, modularity and security. Its built-in garbage collection automatically reclaims unused memory space. Current generational garbage collector works well with programs containing massive short-lived objects. However, the existence of hot-matur...
متن کاملActive Memory Processor: A Hardware Garbage Collector for Real-Time Java Embedded Devices
Java possesses many advantages for embedded system development, including fast product deployment, portability, security, and a small memory footprint. As Java makes inroads into the market for embedded systems, much effort is being invested in designing real-time garbage collectors. The proposed garbage-collected memory module, a bitmap-based processor with standard DRAM cells is introduced to...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems Architecture - Embedded Systems Design
دوره 58 شماره
صفحات -
تاریخ انتشار 2012